﻿namespace IPlugin
{
    public interface IDriver
    {
        int DeviceId { get; set; }

        bool IsConnected { get; }

        int TimeOut { get; set; }

        int MinPeriod { get; set; }

        bool Connect();

        bool Close();

        void Dispose();
        DriverReturnValueModel Read(DriverAddressIoArgModel ioArg);

        Task<RpcResponse> WriteAsync(string RequestId, string Method, DriverAddressIoArgModel ioArg);

    }
}
